{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "import numpy as np # linear algebra\n",
    "import pandas as pd # data processing, CSV file I/O\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "%matplotlib inline\n",
    "# 数据标准化\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "from sklearn.metrics import r2_score  #评价回归预测模型的性能\n",
    "\n",
    "from sklearn import preprocessing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>casual</th>\n",
       "      <th>registered</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>2011-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "      <td>331</td>\n",
       "      <td>654</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2011-01-02</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "      <td>131</td>\n",
       "      <td>670</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2011-01-03</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "      <td>120</td>\n",
       "      <td>1229</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2011-01-04</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "      <td>108</td>\n",
       "      <td>1454</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>2011-01-05</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>82</td>\n",
       "      <td>1518</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant      dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "0        1  2011-01-01       1   0     1        0        6           0   \n",
       "1        2  2011-01-02       1   0     1        0        0           0   \n",
       "2        3  2011-01-03       1   0     1        0        1           1   \n",
       "3        4  2011-01-04       1   0     1        0        2           1   \n",
       "4        5  2011-01-05       1   0     1        0        3           1   \n",
       "\n",
       "   weathersit      temp     atemp       hum  windspeed  casual  registered  \\\n",
       "0           2  0.344167  0.363625  0.805833   0.160446     331         654   \n",
       "1           2  0.363478  0.353739  0.696087   0.248539     131         670   \n",
       "2           1  0.196364  0.189405  0.437273   0.248309     120        1229   \n",
       "3           1  0.200000  0.212122  0.590435   0.160296     108        1454   \n",
       "4           1  0.226957  0.229270  0.436957   0.186900      82        1518   \n",
       "\n",
       "    cnt  \n",
       "0   985  \n",
       "1   801  \n",
       "2  1349  \n",
       "3  1562  \n",
       "4  1600  "
      ]
     },
     "execution_count": 157,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#读取数据\n",
    "data = pd.read_csv(\"day.csv\")\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(731, 16)"
      ]
     },
     "execution_count": 158,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [],
   "source": [
    "# data.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [],
   "source": [
    "# fig = plt.figure()\n",
    "# sns.distplot(data.temp.values, bins=50, kde=True)\n",
    "# plt.xlabel('cnt value of bikeshare', fontsize=12)\n",
    "# plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 单个特征散点图\n",
    "# plt.scatter(range(data.shape[0]), data[\"cnt\"].values,color='purple')\n",
    "# plt.title(\"Distribution of cnt\");"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {},
   "outputs": [],
   "source": [
    "# sns.distplot(data.weathersit.values, bins=2, kde=True)\n",
    "# plt.xlabel('temp value of bikeshare', fontsize=12)\n",
    "# plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x648 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#get the names of all the columns\n",
    "cols=data.columns \n",
    "\n",
    "# Calculates pearson co-efficient for all combinations，通常认为相关系数大于0.5的为强相关\n",
    "data_corr = data.corr().abs()\n",
    "data_corr.shape\n",
    "#plt.subplots(figsize=(13, 9))\n",
    "sns.heatmap(data_corr,annot=True)\n",
    "\n",
    "# Mask unimportant features\n",
    "sns.heatmap(data_corr, mask=data_corr < 1, cbar=False)\n",
    "\n",
    "plt.savefig('sharebikes_coor.png' )\n",
    "# plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Set the threshold to select only highly correlated attributes\n",
    "threshold = 0.5\n",
    "# List of pairs along with correlation above threshold\n",
    "corr_list = []\n",
    "#size = data.shape[1]\n",
    "size = data_corr.shape[0]\n",
    "\n",
    "#Search for the highly correlated pairs\n",
    "for i in range(0, size): #for 'size' features\n",
    "    for j in range(i+1,size): #avoid repetition\n",
    "        if (data_corr.iloc[i,j] >= threshold and data_corr.iloc[i,j] < 1) or (data_corr.iloc[i,j] < 0 and data_corr.iloc[i,j] <= -threshold):\n",
    "            corr_list.append([data_corr.iloc[i,j],i,j]) #store correlation and columns index\n",
    "\n",
    "#Sort to show higher ones first            \n",
    "s_corr_list = sorted(corr_list,key=lambda x: -abs(x[0]))\n",
    "\n",
    "#Print correlations and column names\n",
    "# for v,i,j in s_corr_list:\n",
    "#     print (\"%s and %s = %.2f\" % (cols[i],cols[j],v))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 165,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Scatter plot of only the highly correlated pairs\n",
    "# for v,i,j in s_corr_list:\n",
    "#     sns.pairplot(data, size=6, x_vars=cols[i],y_vars=cols[j] )\n",
    "#     plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(731, 12)"
      ]
     },
     "execution_count": 166,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 从原始数据中分离输入特征x和输出y\n",
    "y = data['cnt'].values\n",
    "X = data.drop('cnt', axis = 1)\n",
    "X = X.drop('casual', axis = 1)\n",
    "X = X.drop('registered', axis = 1)\n",
    "X = X.drop('dteday', axis = 1)\n",
    "X.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant  season  yr  mnth  holiday  weekday  workingday  weathersit  \\\n",
       "0        1       1   0     1        0        6           0           2   \n",
       "1        2       1   0     1        0        0           0           2   \n",
       "2        3       1   0     1        0        1           1           1   \n",
       "3        4       1   0     1        0        2           1           1   \n",
       "4        5       1   0     1        0        3           1           1   \n",
       "\n",
       "       temp     atemp       hum  windspeed  \n",
       "0  0.344167  0.363625  0.805833   0.160446  \n",
       "1  0.363478  0.353739  0.696087   0.248539  \n",
       "2  0.196364  0.189405  0.437273   0.248309  \n",
       "3  0.200000  0.212122  0.590435   0.160296  \n",
       "4  0.226957  0.229270  0.436957   0.186900  "
      ]
     },
     "execution_count": 167,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 168,
   "metadata": {},
   "outputs": [],
   "source": [
    "#用于后续显示权重系数对应的特征\n",
    "columns = X.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 169,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(584, 12)"
      ]
     },
     "execution_count": 169,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将数据分割训练数据与测试数据\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 随机采样20%的数据构建测试样本，其余作为训练样本\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=22, test_size=0.2)\n",
    "X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 180,
   "metadata": {},
   "outputs": [],
   "source": [
    "# from sklearn import preprocessing\n",
    "# 分别初始化对特征和目标值的标准化器\n",
    "# ss_X = StandardScaler()\n",
    "# ss_y = StandardScaler()\n",
    "\n",
    "# 分别对训练和测试数据的特征以及目标值进行标准化处理\n",
    "# X_train = ss_X.fit_transform(X_train)\n",
    "# X_test = ss_X.transform(X_test)\n",
    "\n",
    "#数据归一化\n",
    "X_train = preprocessing.normalize(X_train, norm='l2')\n",
    "X_test = preprocessing.normalize(X_test, norm='l2')\n",
    "\n",
    "#对y做标准化不是必须\n",
    "#对y标准化的好处是不同问题的w差异不太大，同时正则参数的范围也有限\n",
    "# y_train = ss_y.fit_transform(y_train.reshape(-1, 1))\n",
    "# y_test = ss_y.transform(y_test.reshape(-1, 1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>coef</th>\n",
       "      <th>columns</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>[1.4192519663634984]</td>\n",
       "      <td>yr</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>[0.5964649626085302]</td>\n",
       "      <td>atemp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>[0.40311450938806737]</td>\n",
       "      <td>mnth</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>[0.3273807807048658]</td>\n",
       "      <td>season</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>[0.07854685272654056]</td>\n",
       "      <td>weekday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>[0.030301383981173782]</td>\n",
       "      <td>workingday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>[-0.03616830775032208]</td>\n",
       "      <td>holiday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>[-0.07107632531332705]</td>\n",
       "      <td>hum</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>[-0.10644866580564612]</td>\n",
       "      <td>windspeed</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>[-0.10819603076899109]</td>\n",
       "      <td>temp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>[-0.17896406562405387]</td>\n",
       "      <td>weathersit</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[-1.040910918616929]</td>\n",
       "      <td>instant</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      coef     columns\n",
       "2     [1.4192519663634984]          yr\n",
       "9     [0.5964649626085302]       atemp\n",
       "3    [0.40311450938806737]        mnth\n",
       "1     [0.3273807807048658]      season\n",
       "5    [0.07854685272654056]     weekday\n",
       "6   [0.030301383981173782]  workingday\n",
       "4   [-0.03616830775032208]     holiday\n",
       "10  [-0.07107632531332705]         hum\n",
       "11  [-0.10644866580564612]   windspeed\n",
       "8   [-0.10819603076899109]        temp\n",
       "7   [-0.17896406562405387]  weathersit\n",
       "0     [-1.040910918616929]     instant"
      ]
     },
     "execution_count": 171,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 线性回归\n",
    "#class sklearn.linear_model.LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=1)\n",
    "from sklearn.linear_model import LinearRegression\n",
    "# 使用默认配置初始化\n",
    "lr = LinearRegression()\n",
    "\n",
    "# 训练模型参数\n",
    "lr.fit(X_train, y_train)\n",
    "\n",
    "# 预测\n",
    "y_test_pred_lr = lr.predict(X_test)\n",
    "y_train_pred_lr = lr.predict(X_train)\n",
    "\n",
    "\n",
    "# 看看各特征的权重系数，系数的绝对值大小可视为该特征的重要性\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef\":list((lr.coef_.T))})\n",
    "fs.sort_values(by=['coef'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of LinearRegression on test is 0.7713833839824413\n",
      "The r2 score of LinearRegression on train is 0.80465649758692\n"
     ]
    }
   ],
   "source": [
    "# 使用r2_score评价模型在测试集和训练集上的性能，并输出评估结果\n",
    "#测试集\n",
    "print 'The r2 score of LinearRegression on test is', r2_score(y_test, y_test_pred_lr)\n",
    "#训练集\n",
    "print 'The r2 score of LinearRegression on train is', r2_score(y_train, y_train_pred_lr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 173,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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vPCCTygdKcaMGcOUKVNoaWnp8zYMaUkqwIYNG9hvv/2YOnUqEY3642caKpnJ1q1b2bBhA9OmTevzdjzdLUkFeOGFFzjwwAMN6BEiIjjwwAP7fWakx5COiKMjYnWnr2ci4o8jYkJE3BERa6vXA/pViSQ1OQN6ZGnE8ewxpDPzR5k5IzNnAK8HngduBS4HVmTmkcCKal6SJDVIb69JzwV+kpnrI2I+MKdavgRYCXy0caVJUvNqaxv87Y0aNYoTTjiB7du3M23aNL72ta8xfvz4Xu/rkksu4UMf+hDHHnvsK5Zfd911rFq1ii984Qu93ibA2LFj2bZtW11t58yZw9VXX01ra+vOZatWreL666/nmmuu6dP+h0Jvr0mfB3yjmj44MzcCVK+TunpDRCyKiFURsWrLli19r1SSNKBe9apXsXr1ah588EEmTJjAtdde26ftfOlLX9otoEvQ2to64AG9Y8eOhm6v7pCOiL2Bs4FberODzFycma2Z2TpxYl2PKpUkDbHZs2fz+OOP75y/6qqrOPnkkznxxBP55Cc/CcBzzz3HvHnzmD59OscffzxLly4FaqPYjkdAf/WrX+Woo47ijW98I3fffffO7V100UUsW7Zs5/zYsWMB2LZtG3PnzuWkk07ihBNOYPny5bvVtnHjRk4//XRmzJjB8ccfz7/927/V1aeVK1dy1llnAdDW1sbFF1/MnDlzOOKII14R3jfccAOnnHIKM2bM4D3vec/O4L3ssstobW3luOOO2/kZQO2R11deeSW//du/zS239Coie9Sb092/C9yXmZuq+U0RMTkzN0bEZGBzQyuTJA2JHTt2sGLFChYuXAjA7bffztq1a7n33nvJTM4++2zuuusutmzZwqGHHsq3vvUtAJ5++ulXbGfjxo188pOfpL29nXHjxvGmN72JmTNn7nHfY8aM4dZbb2X//ffnySefZNasWZx99tmvuAnr61//Om9961v5+Mc/zo4dO3j++ef71M9HHnmEO++8k2effZajjz6ayy67jHXr1rF06VLuvvtuWlpaeO9738uNN97IhRdeyKc//WkmTJjAjh07mDt3Lvfffz8nnnjizrq/+93v9qmOPelNSL+L/zzVDXAbsAD4TPW6+487kqRh41e/+hUzZszgscce4/Wvfz1nnHEGUAvp22+/fWfAbtu2jbVr13Laaafx4Q9/mI9+9KOcddZZnHbaaa/Y3j333MOcOXPoOIt67rnn8uMf/3iPNWQmH/vYx7jrrrvYa6+9ePzxx9m0aROHHHLIzjYnn3wyF198MS+99BLnnHMOM2bM6FN/582bxz777MM+++zDpEmT2LRpEytWrKC9vZ2TTz5552cyaVLtau7NN9/M4sWL2b59Oxs3buThhx/eGdLnnntun2roSV2nuyPiN4AzgL/vtPgzwBkRsbZa95nGlydJGiwd16TXr1/Piy++uPOadGZyxRVXsHr1alavXs26detYuHAhRx11FO3t7ZxwwglcccUVXHnllbtts7tfQxo9ejQvv/zyzu2/+OKLANx4441s2bKF9vZ2Vq9ezcEHH7zb7xqffvrp3HXXXRx22GFccMEFXH/99X3q7z777LNzetSoUWzfvp3MZMGCBTv7+qMf/Yi2tjZ++tOfcvXVV7NixQruv/9+5s2b94q69t133z7V0JO6RtKZ+Txw4C7LtlK721uSetSbu5UbfWezemfcuHFcc801zJ8/n8suu4y3vvWtfOITn+D8889n7NixPP7447S0tLB9+3YmTJjAu9/9bsaOHct11133iu284Q1v4AMf+ABbt25l//3355ZbbmH69OlA7Tpue3s773znO1m+fDkvvfQSUDtlPmnSJFpaWrjzzjtZv373v+q4fv16DjvsMC699FKee+457rvvPi688MKG9H3u3LnMnz+fD37wg0yaNIlf/OIXPPvsszzzzDPsu+++jBs3jk2bNvHtb3+bOXPmNGSfe+JjQSWpQEP9g8rMmTOZPn06N910ExdccAFr1qxh9uzZQO0mrxtuuIF169bxkY98hL322ouWlha++MUvvmIbkydPpq2tjdmzZzN58mROOumknTdhXXrppcyfP59TTjmFuXPn7hyJnn/++bztbW+jtbWVGTNm8LrXvW632lauXMlVV11FS0sLY8eO7XYkPW/evJ3PzZ49ezbve9/7euz3sccey6c+9Sne8pa38PLLL9PS0sK1117LrFmzmDlzJscddxxHHHEEp556av0fZj9EZg7KjgBaW1uz444/Sc3FkfSerVmzhmOOOWaoy1CDdXVcI6I9M1u7ecsr+OxuSZIKZUhLklQoQ1qSCjGYlx818BpxPA1pSSrAmDFj2Lp1q0E9QnT8PekxY8b0azve3S1JBZgyZQobNmzAv3EwcowZ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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#在训练集上观察预测残差的分布，看是否符合模型假设：噪声为0均值的高斯噪声\n",
    "f, ax = plt.subplots(figsize=(7, 5)) \n",
    "f.tight_layout() \n",
    "ax.hist(y_train - y_train_pred_lr,bins=40, label='Residuals Linear', color='b', alpha=.5); \n",
    "ax.set_title(\"Histogram of Residuals\") \n",
    "ax.legend(loc='best');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 174,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x216 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#还可以观察预测值与真值的散点图\n",
    "plt.figure(figsize=(4, 3))\n",
    "plt.scatter(y_train, y_train_pred_lr)\n",
    "plt.plot([-3, 3], [-3, 3], '--k')   #数据已经标准化，3倍标准差即可\n",
    "plt.axis('tight')\n",
    "plt.xlabel('True price')\n",
    "plt.ylabel('Predicted price')\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of RidgeCV on test is 0.7728470563895358\n",
      "The r2 score of RidgeCV on train is 0.8045809721180107\n"
     ]
    }
   ],
   "source": [
    "#岭回归／L2正则\n",
    "#class sklearn.linear_model.RidgeCV(alphas=(0.1, 1.0, 10.0), fit_intercept=True, \n",
    "#                                  normalize=False, scoring=None, cv=None, gcv_mode=None, \n",
    "#                                  store_cv_values=False)\n",
    "from sklearn.linear_model import  RidgeCV\n",
    "\n",
    "#设置超参数（正则参数）范围\n",
    "alphas = [ 0.01, 0.1, 1, 10,100]\n",
    "#n_alphas = 20\n",
    "#alphas = np.logspace(-5,2,n_alphas)\n",
    "\n",
    "#生成一个RidgeCV实例\n",
    "ridge = RidgeCV(alphas=alphas, store_cv_values=True)  \n",
    "\n",
    "#模型训练\n",
    "ridge.fit(X_train, y_train)    \n",
    "\n",
    "#预测\n",
    "y_test_pred_ridge = ridge.predict(X_test)\n",
    "y_train_pred_ridge = ridge.predict(X_train)\n",
    "\n",
    "\n",
    "# 评估，使用r2_score评价模型在测试集和训练集上的性能\n",
    "print 'The r2 score of RidgeCV on test is', r2_score(y_test, y_test_pred_ridge)\n",
    "print 'The r2 score of RidgeCV on train is', r2_score(y_train, y_train_pred_ridge)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 176,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEKCAYAAAA4t9PUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl0XOWZ5/Hvo82SN8m25H3HZjGrQRjwAiSYsCRjOgkJkEBYbJhON2e6w+nppoc55AyZOd0NPT3TS3oa2xBoQgcwZHGIgRCHxLKxjWV2MIsseZEt25JtedOueuaPe20KpSSVLV1VqfT7nKPjW3Xfe+u513L9fLf3NXdHRETkVGWlugAREenfFCQiItIjChIREekRBYmIiPSIgkRERHpEQSIiIj2iIBERkR5RkIiISI8oSEREpEdyoly5mV0L/COQDSx397/tMP8+YAnQBtQCd7n79nDey8ClwFp3/0rcMlcBjxCE4FHgDnev6KqO4uJinzp1am9tlojIgLB58+Y6dy/prp1F1UWKmWUDnwBXA9XAJuAWd/8wrs0XgI3u3mBm3wWudPebwnlXAYOB/9whSD4BbnD3LWb2J8Acd7+jq1pKS0u9vLy8dzdQRCTDmdlmdy/trl2Up7bmABXuXunuLcAzwA3xDdz9NXdvCF9uACbGzVsNHEmwXgeGh9OFwO7eLlxERJIX5amtCcDOuNfVwCVdtF8MvJTEepcAq8ysEThMcPpLRERSJMojEkvwXsLzaGZ2K1BKcO2jO98Drnf3icCPgH/oZJ33mFm5mZXX1tYmWbKIiJysKIOkGpgU93oiCU5DmdlC4AFgkbs3d7VCMysBznf3jeFbzwJzE7V196XuXurupSUl3V4rEhGRUxRlkGwCZprZNDPLA24GVsY3MLPZwKMEIbIviXUeBArN7PTw9dXAll6sWURETlJk10jcvc3M7gVeIbj993F3/8DMHgLK3X0lwamsocAKMwPY4e6LAMysDDgTGGpm1cBid3/FzO4GXjCzGEGw3BXVNoiISPciu/03nej2XxGRk5cOt/+KiEiK1Bxq5G9WbaHuaJeXnnuFgkREJAM98fo2lpVV0tjSHvlnKUhERDLM0eY2/mPjDq47dxyTRg6O/PMUJCIiGebZTTs50tTG3Qum98nnKUhERDJIW3uMx9dWMWfqSC6YVNQnn6kgERHJIC+9v4dd9Y0sWTCtzz5TQSIikiHcneVllUwrHsLCs8b02ecqSEREMsQbVQd4p/oQi+dPIysrUXeH0VCQiIhkiGVlVYwYnMvXL5zYfeNepCAREckAW2uPsvqjvdx22VQK8rL79LMVJCIiGeCxtVXkZmfxncum9PlnK0hERPq5/UebeWFzNV+bPYHioYP6/PMVJCIi/dxTG7bT3Bbr01t+4ylIRET6sabWdp5av50vnjmaGaOHpaQGBYmISD/20zd3sf9YS591h5KIgkREpJ+KxZzlays5Z8JwLp0+MmV1KEhERPqp1z7eR2XtMe5eMJ1wlNmUUJCIiPRTS9dUMr4wn+vPHZfSOhQkIiL90LvV9WysOsCd86aRm53ar3IFiYhIP7SsrIphg3K4ec6kVJeiIBER6W+qDzaw6r0abp4ziWH5uakuR0EiItLf/GjdNgy4c15qHkDsSEEiItKPHG5q5dlNO/nyeeMYX1SQ6nIABYmISL/yzBs7ONrcd+OxJ0NBIiLST7S2x/jRum1cNn0U50woTHU5J0QaJGZ2rZl9bGYVZnZ/gvn3mdmHZvauma02sylx8142s3oze7HDMmZm/8vMPjGzLWb2X6LcBhGRdPGrd2uoOdTE3Zenx7WR4yILEjPLBn4IXAfMAm4xs1kdmr0FlLr7ecDzwMNx8x4Bbkuw6juAScCZ7n4W8Ewvly4iknbcnaVrKpkxeihXnj461eV8TpRHJHOACnevdPcWgi/8G+IbuPtr7t4QvtwATIybtxo4kmC93wUecvdY2G5fFMWLiKST9Vv382HNYZb08XjsyYgySCYAO+NeV4fvdWYx8FIS6z0NuMnMys3sJTOb2YMaRUT6haVllRQPzeOPZnf1NZoaUQZJosj0hA3NbgVKCU5ndWcQ0OTupcAy4PFO1nlPGDbltbW1SZYsIpJ+Pt17hN99XMt3LptKfm7fjseejCiDpJrgWsZxE4HdHRuZ2ULgAWCRuzcnud4XwumfAeclauTuS9291N1LS0pKTqpwEZF0srysivzcLG69tO/HY09GlEGyCZhpZtPMLA+4GVgZ38DMZgOPEoRIstc6fg58MZy+Avikl+oVEUk7+4408bO3dnHjRRMZOSQv1eUklBPVit29zczuBV4BsoHH3f0DM3sIKHf3lQSnsoYCK8K+9He4+yIAMysDzgSGmlk1sNjdXwH+FnjazL4HHAWWRLUNIiKp9tT67bTGYiyenz4PIHYUWZAAuPsqYFWH9x6Mm17YxbILOnm/Hvhyb9UoIpKuGlraeGrDdq4+awzTioekupxO6cl2EZE09cLmauobWrn78vQ9GgEFiYhIWmqPOY+treKCSUWUThmR6nK6pCAREUlDr364l237G1I+HnsyFCQiImloeVklE0cUcM3ZY1JdSrcUJCIiaebNHQcp336QxfOnkZPi8diTkf4ViogMMMvLKhmen8M3S1M/HnsyFCQiImlkx/4GXn5/D9++dApDBkX6hEavUZCIiKSRx9dVkZ1l3DF3aqpLSZqCREQkTdQ3tPBc+U4WnT+BMcPzU11O0hQkIiJp4umNO2hoaWfJgvQaAbE7ChIRkTTQ3NbOk69vY8HMYs4aNzzV5ZwUBYmISBpY+fZu9h1p5u4F6d0dSiIKEhGRFHN3lpdVcebYYSyYWZzqck6agkREJMXWfFrHx3uPsKQfdIeSiIJERCTFlpdVMnrYIBadPz7VpZwSBYmISAptqTlM2ad13D53Knk5/fMruX9WLSKSIZaVVTI4L5tvXzI51aWcMgWJiEiK7DnUxC/f2c03SydRNDg9x2NPhoJERCRFnnh9G+0x5655/esBxI4UJCIiKXC0uY3/2Lida88Zy+RRg1NdTo8oSEREUuC5TTs53NTWLx9A7EhBIiLSx9raYzy+rorSKSOYPTm9x2NPhoJERKSPvfLBXqoPNrIkA45GQEEiItKn3J2lZZVMHTWYq2el/3jsyVCQiIj0ofLtB3lnZz2L508jO6v/dYeSiIJERKQPLV1TyYjBudx4Uf8Yjz0ZkQaJmV1rZh+bWYWZ3Z9g/n1m9qGZvWtmq81sSty8l82s3sxe7GTd/2xmR6OsX0SkN1XVHeM3W/Zy66VTKMjLTnU5vSayIDGzbOCHwHXALOAWM5vVodlbQKm7nwc8DzwcN+8R4LZO1l0KFPV60SIiEXpsbSW5WVl857KpqS6lV0V5RDIHqHD3SndvAZ4Bbohv4O6vuXtD+HIDMDFu3mrgSMeVhgH1CPCXURUuItLbDhxrYUV5NV+dPYGSYYNSXU6vijJIJgA7415Xh+91ZjHwUhLrvRdY6e41XTUys3vMrNzMymtra5NYrYhIdH68YTvNbbF+Nx57MnIiXHei2xE8YUOzW4FS4IouV2g2HvgGcGV3H+7uS4GlAKWlpQk/V0SkLzS1tvPv67fxhTNKmDlmWKrL6XVRBkk1EH9bwkRgd8dGZrYQeAC4wt2bu1nnbGAGUBGOIjbYzCrcfUbvlCwi0vt+/tYu6o62ZER3KIlEGSSbgJlmNg3YBdwMfCu+gZnNBh4FrnX3fd2t0N1/BYyNW/6oQkRE0lks5iwrq+Ts8cO57LRRqS4nEpFdI3H3NoLrGa8AW4Dn3P0DM3vIzBaFzR4BhgIrzOxtM1t5fHkzKwNWAFeZWbWZXRNVrSIiUfndJ/vYWnuMu/vpeOzJiPKIBHdfBazq8N6DcdMLu1h2QRLrH9qjAkVEIrZsTRXjCvP58nnjUl1KZPRku4hIRN7fdYj1lfu5c95UcrMz9+s2c7dMRCTFlpVVMnRQDjfP6b/jsSdDQSIiEoFd9Y28+G4NN188ieH5uakuJ1IKEhGRCDyxrgqAO+dn3gOIHSlIRER62eGmVn7yxk6+fO44JhQVpLqcyClIRER62bNv7ORoc2aMx54MBYmISC9qbY/xo3VVXDJtJOdOLEx1OX1CQSIi0otWvVfD7kNN3HP5wDgaAQWJiEivcQ+6Q5leMoQvnDE61eX0GQWJiEgvWV+5n/d3HebuBdPJypDx2JOhIBER6SXLy6oYNSSPr87uauilzKMgERHpBRX7jvDbj/bxncumkp+bOeOxJ0NBIiLSC5aXVTEoJ4tbL83s7lASUZCIiPRQ7ZFmfvrWLr5+0URGDc2s8diToSAREemhp9Zvo7U9xuIB0B1KIgoSEZEeaGxp56kN27nqzDGcVjIwh0hSkIiI9MDzb1ZzsKF1QD2A2JGCRETkFMVizuNrqzh/YiEXTx2R6nJSRkEiInKKfrNlL1V1x1iSweOxJ0NBIiJyipaVVTKhqIDrzhmb6lJSSkEiInIK3tpxkE3bDnLX/GnkZPB47MkY2FsvInKKlpdVMSw/h5sunpTqUlJOQSIicpJ2Hmjgpfdr+NYlkxk6KCfV5aRc0kFiZvPN7M5wusTMBuaTNyIy4D22toosM+6cq69BSDJIzOz7wF8Bfx2+lQv8OKqiRETS1aGGVp4r38mi88cztjA/1eWkhWSPSL4KLAKOAbj7bmBYdwuZ2bVm9rGZVZjZ/Qnm32dmH5rZu2a22symxM172czqzezFDss8Ha7zfTN73Mxyk9wGEZEe+483dtDQ0s6SATIeezKSDZIWd3fAAcxsSHcLmFk28EPgOmAWcIuZzerQ7C2g1N3PA54HHo6b9whwW4JVPw2cCZwLFABLktwGEZEeaWmL8cTrVcyfUcys8cNTXU7aSDZInjOzR4EiM7sb+A2wrJtl5gAV7l7p7i3AM8AN8Q3c/TV3bwhfbgAmxs1bDRzpuFJ3X+Uh4I34ZUREovTLd3az93AzSxbo2ki8pG43cPe/N7OrgcPAGcCD7v5qN4tNAHbGva4GLumi/WLgpWTqAQhPad0G/Fmyy4iInKrj47GfMWYYV5xekupy0kpSQRKeyvqtu79qZmcAZ5hZrru3drVYgve8k/XfCpQCVyRTT+hfgTXuXtbJOu8B7gGYPHngDTQjIr1rbUUdH+05wsM3njegu0NJJNlTW2uAQWY2geC01p3AE90sUw3EP6kzEdjdsZGZLQQeABa5e3MyxYR3kZUA93XWxt2Xunupu5eWlOh/DyLSM0vXVFIybBA3XDA+1aWknWSDxMJrGV8D/tndv0pwAb0rm4CZZjbNzPKAm4GVn1up2WzgUYIQ2ZdUIWZLgGuAW9w9lmT9IiKn7KM9hyn7tI475k5lUM7AGo89GUkHiZldBnwb+FX4Xpenxdy9DbgXeAXYAjzn7h+Y2UNmtihs9ggwFFhhZm+b2YmgMbMyYAVwlZlVm9k14ax/A8YA68NlHkxyG0RETsnysioKcrP59iU6TZ5Iss/2/xlwP/DTMAymAb/tbiF3XwWs6vDeg3HTC7tYdkEn76s/AhHpM3sPN/GLt3fxrTmTKRqcl+py0lKyX8oNQIzgWZBbCS6kJ7xwLiKSSZ58fRttMeeuAToeezKSDZKngb8A3icIFBGRjHesuY0fb9jOtWePZcqobp/DHrCSDZJad/9lpJWIiKSZFeU7OdzUpu5QupFskHzfzJYDq4ETt+i6+08jqUpEJMXaY85j66q4cHIRF00ZuOOxJyPZILmToH+rXD47teWAgkREMtIrH+xh54FGHrj+rFSXkvaSDZLz3f3cSCsREUkT7s7SNZVMGTWYq2cN7PHYk5HscyQbEvTcKyKSkTZvP8jbO+tZPH8a2VnqDqU7yR6RzAduN7MqgmskBnjY/buISEZZVlZJYUEuN16kzsWTkWyQXBtpFSIiaaKq7hi//nAvf3rlDAbn6fnnZCTbjfz2qAsREUkHj6+tIjcri+/MndJ9YwGSv0YiIpLxDh5rYcXmndxwwXhGD9N47MlSkIiIhH68YTtNrTHuvlwPIJ4MBYmICNDU2s6T67dzxeklnD5mWKrL6VcUJCIiwC/e3kXd0Wbu0dHISVOQiMiAF4s5y8qqOGvccOaeNirV5fQ7ChIRGfB+/0ktFfuOcs/l0zQe+ylQkIjIgLesrJKxw/P5ynkaj/1UKEhEZEB7f9chXt+6nzvmTSU3W1+Jp0J7TUQGtOVllQzJy+aWORqP/VQpSERkwNpd38iL79Zw08WTKSzITXU5/ZaCREQGrCde34YDd86bmupS+jUFiYgMSEeaWvnJxh1cd85YJo0cnOpy+jUFiYgMSM9u2smR5jbu1njsPaYgEZEBp609xo/WbWPOtJGcP6ko1eX0ewoSERlwVr2/h131jToa6SUKEhEZUNydZWsqmV48hKvOHJ3qcjJCpEFiZtea2cdmVmFm9yeYf5+ZfWhm75rZajObEjfvZTOrN7MXOywzzcw2mtmnZvasmeVFuQ0iklk2Vh3gvV2HWLxgGlkaj71XRBYkZpYN/BC4DpgF3GJmszo0ewsoDcd+fx54OG7eI8BtCVb9d8D/cfeZwEFgcW/XLiKZa9maSkYOyePrF2o89t4S5RHJHKDC3SvdvQV4BrghvoG7v+buDeHLDcDEuHmrgSPx7S3oTe2LBKED8CTwR9GULyKZpmLfUVZ/tI/bLp1Cfm52qsvJGFEGyQRgZ9zr6vC9ziwGXupmnaOAendv626dZnaPmZWbWXltbW2SJYtIJntsbSV5OVncdpnGY+9NUQZJopOPnrCh2a1AKcHprF5Zp7svdfdSdy8tKSnpZrUikunqjjbzwpu7+PqFEykeOijV5WSUnAjXXQ1Mins9EdjdsZGZLQQeAK5w9+Zu1lkHFJlZTnhUknCdIiIdPbV+Oy1tMRbPn5bqUjJOlEckm4CZ4V1WecDNwMr4BmY2G3gUWOTu+7pbobs78BpwY/jW7cAverVqEck4Ta3tPLVhOwvPGs2M0UNTXU7GiSxIwiOGe4FXgC3Ac+7+gZk9ZGaLwmaPAEOBFWb2tpmdCBozKwNWAFeZWbWZXRPO+ivgPjOrILhm8lhU2yAimeGFN6s5cKyFJXoAMRJRntrC3VcBqzq892Dc9MIull3QyfuVBHeEiYh0KxZzHiur4ryJhVwybWSqy8lIerJdRDLa6o/2UVl3jCULpms89ogoSEQkoy1bU8mEogKuP2dsqkvJWAoSEclY7+ys541tB7hz3lRyNB57ZLRnRSRjLSurZNigHG66eFL3jeWUKUhEJCPtPNDAqvdq+NYlkxmWr/HYo6QgEZGM9KN128gy4w6Nxx45BYmIZJxDja08u2kHXzlvHOMKC1JdTsZTkIhIxvnJGzs41tKuBxD7iIJERDJKS1uMJ9ZtY+5pozhnQmGqyxkQFCQiklFefHc3ew43cfflOhrpKwoSEckY7s6ysipmjh7Kladr+Ii+oiARkYyxrmI/W2oOc7e6Q+lTChIRyRjLyiopHjqIG2aPT3UpA4qCREQywsd7jvD7T2q5/bIpDMrReOx9SUEiIhlheVkl+blZ3HqpxmPvawoSEen39h1u4hdv7+YbF01ixJC8VJcz4ChIRKTfe3L9NlpjGo89VRQkItKvNbS08eMNO/jSrDFMLR6S6nIGJAWJiPRrK8qrOdTYyj16ADFlFCQi0m+1x5zH1lYxe3IRF03ReOypoiARkX7r1x/sYceBBu5W54wppSARkX5rWVklk0YWcM3ZGo89lRQkItIvbd5+gDd31LN43jSys9QdSiopSESkX1q2porCgly+Uarx2FNNQSIi/c72/cd45cM9fPuSyQwZlJPqcga8SIPEzK41s4/NrMLM7k8w/z4z+9DM3jWz1WY2JW7e7Wb2afhze9z7t5jZe+EyL5tZcZTbICLp57G1VeRkGbfPnZrqUoQIg8TMsoEfAtcBs4BbzGxWh2ZvAaXufh7wPPBwuOxI4PvAJcAc4PtmNsLMcoB/BL4QLvMucG9U2yAi6efgsRZWlFdzwwUTGDM8P9XlCNEekcwBKty90t1bgGeAG+IbuPtr7t4QvtwATAynrwFedfcD7n4QeBW4FrDwZ4gFgw0MB3ZHuA0ikmae3ridxtZ2lixQdyjpIsogmQDsjHtdHb7XmcXAS10t6+6twHeB9wgCZBbwWG8VLCLprbmtnSfXb+fy00s4c+zwVJcjoSiDJNH9eJ6wodmtQCnwSFfLmlkuQZDMBsYTnNr6607WeY+ZlZtZeW1t7cnWLiJp6Bdv76b2SDN362gkrUQZJNVA/H15E0lwGsrMFgIPAIvcvbmbZS8AcPet7u7Ac8DcRB/u7kvdvdTdS0tKNHazSH/n7iwvq+TMscOYP0P32KSTKINkEzDTzKaZWR5wM7AyvoGZzQYeJQiRfXGzXgG+FF5gHwF8KXxvFzDLzI4nw9XAlgi3QURS7GhzG7/9aC//7Wfv8cneoxqPPQ1FdgO2u7eZ2b0EAZANPO7uH5jZQ0C5u68kOJU1FFgR/mLscPdF7n7AzH5AEEYAD7n7AQAz+x/AGjNrBbYDd0S1DSLS91rbY7y9s561n9bx+tY63tpRT1vMycvJ4vpzx/Kfztd47OnGgjNEma20tNTLy8tTXYaIJBCLOR/vPcK6ijrWVdSxseoADS3tmMF5EwqZO6OY+TOKuWjKCPJzNRZ7XzKzze5e2l07PRIqIn1u54EGXt9ax9qK/azfWkfd0RYAphcP4esXTmTejFFcOn0URYM1bG5/oCARkcgdONbC+q37Wbc1OOrYvj94fKxk2CAWzCxh7mmjmDejmPFFBSmuVE6FgkREel1jSztvbDvA6xV1rK2o48Oaw7jD0EE5XDp9JHfMncq8GcXMHD1UF84zgIJERHqsrT3Gu7sOse7TOtZtrePN7fW0tMfIzTYunDyC7y08nXkzijl/YiE52eorNtMoSETkpLk7FfuOsq4iuM6xsXI/R5rbADh7/HDumBcccVw8dQSD8/Q1k+n0NywiSak51Mi6iv0n7q7adyR4fnjyyMF85fzxzJ9RzGWnjWLkEF0gH2gUJCKS0KGGVtZXhsGxtY7K2mMAjBqSx9wZxcwLL5BPGjk4xZVKqilIRASAptZ2Nm8/eOKI471dh4g5DM7LZs60kXxrzmTmnlbMmWOHkaWhbSWOgkRkgGqPOR/sPsTaijper9jPpm0HaG6LkZ1lzJ5UxL1fnMn8GcVcMKmIvBxdIJfOKUhEBgh3p6ruGOu27mfdp3Wsr9zPocZWAM4cO4xvXzKF+TNHMWfaKIZq+Fo5CfptEclg+4408XrF/vCoo47dh5oAmFBUwDVnj2FeeIF89DCNNCinTkEikkGONLWysfJAEBxb6/hk71EAigbnctn0UfzJF4J+q6aMGqwHAaXXKEhE+rHmtnbe2lF/4gnyd6oP0R5zBuVkMWfaSL524UTmnVbMrPHDydYFcomIgkSkH4nFnC17Dp94EHBT1QEaW9vJMjhvYhHfveI05s4YxYWT1VOu9B0FiUia27G/gbXhsxzrt+7nwLGgp9wZo4fyzdKJzJtRzCXTR1FYkJviSmWgUpCIpJn9R5t5fetnDwLuPNAIwJjhg7jyjBLmzyhm7mnFjC3UBXJJDwoSkRQ71tzGG9sOhB0e7mdLzWEAhuXncNn0USyZP515M4o5rWSILpBLWlKQiPSBtvYYe480U1PfyK76RnbXN1FzqJGPao7w1s6DtLY7edlZXDRlBP/1mjOYe9oozp2gnnKlf1CQiPSQu1Pf0MruQ0FA7K5v/Nx0TX0jew43EeswqvXw/BymFQ/hrvnTmD+jmNIpIynI0wVy6X8UJCLdaGptp+ZQEAq76hup+VxYBIHR2Nr+uWXysrMYV5TP+MICLj1tFBOKChhfVMC4wnwmFBUwrqhAT49LxtBvsgxosZhTe7T5cwGxq76Rmrgjiv3hXVLxSoYNYnxhPqePGcaVZ4xmfFEB4wvzgz+LChg1JE8dG8qAoSCRjHa4qTU8vdQUXptopObQZ9N7DzfR2v75c05D8rJPBMI5Ewo/FxDji/IZW5jPoBydghI5TkEi/VZLW4w9h5riTjE1sjs8BXU8PI6P2ndcTpYxZnhweql0ygjGhQExoSifcYXB9PD8HN0dJXISFCSSltyd/cdaPguIuOsSu+qbqKlvpPZoM97hAvbIIXmML8pn6qghzD2tmPFF+eG1iQImFBVQMmyQugoR6WUKki7sPNBAY2s72VlGblYW2dlGbpaRnWXkZGeRk2XkZBs5WVn6cjpJx5rbqIkLheDaRFN4bSI4smhpi31umfzcrPDooYAzzij57HRTYXDKaVxhge56EkmBSIPEzK4F/hHIBpa7+992mH8fsARoA2qBu9x9ezjvduC/h03/p7s/Gb6fB/wLcCUQAx5w9xeiqP/BX7zPax/XJtXWLDhtkpP1WcBkZ2WRmx0ET252EDbx4fO56Ww7sfxngZVg+bh2OX8QaMHroH24fFai5T//eQmn49Zz/LOSvXh8/JmJjkcTx4Njd33jiXEwjssyGDM8/8R1iWvOHnviLqfj4VE0OFennETSUGRBYmbZwA+Bq4FqYJOZrXT3D+OavQWUunuDmX0XeBi4ycxGAt8HSgEHNofLHgQeAPa5++lmlgWMjGob/vQLM7jxokm0xWK0tXvwZ8zDaaet/bPX7bEYrTGnPea0tsfCP4M27TEP58Vobf98m7Z2p6GtLW698euMX1f8eoKfvpZlnAib+HDKzbIw/LJobG1nb4JnJgoLck/c2VQ6ZcSJC9fHjypGDxtErh6+E+mXojwimQNUuHslgJk9A9wAnAgSd38trv0G4NZw+hrgVXc/EC77KnAt8BPgLuDMcPkYUBfVBpROjSyjeiwWc9o9LnyOh1v8dHssYUB9Pqz+MNxaY0778WX/YD1xr2OfBebx5QflZH8uIMYX5uuZCZEMF+W/7gnAzrjX1cAlXbRfDLzUxbITzKwofP0DM7sS2Arc6+57e6XifiQry8jCCHoK13UBEUmdKM8lJDqZnfB8jJndSnAa65Fuls0BJgLr3P1CYD3w952s8x4zKzez8tra5K5ziIjIyYsUtYA7AAAIXUlEQVQySKqBSXGvJwK7OzYys4UE1z0WuXtzN8vuBxqAn4XvrwAuTPTh7r7U3UvdvbSkpKQn2yEiIl2IMkg2ATPNbFp4p9XNwMr4BmY2G3iUIET2xc16BfiSmY0wsxHAl4BX3N2BXxLcsQVwFXHXXEREpO9Fdo3E3dvM7F6CUMgGHnf3D8zsIaDc3VcSnMoaCqwIb+vc4e6L3P2Amf2AIIwAHjp+4R34K+ApM/u/BLcM3xnVNoiISPfMOz4anIFKS0u9vLw81WWIiPQrZrbZ3Uu7a6cb90VEpEcUJCIi0iMKEhER6ZEBcY3EzGqB7ae4eDERPj3fA6rr5Kiuk6O6Tk6m1jXF3bt9fmJABElPmFl5Mheb+prqOjmq6+SorpMz0OvSqS0REekRBYmIiPSIgqR7S1NdQCdU18lRXSdHdZ2cAV2XrpGIiEiP6IhERER6REHSgZk9YmYfmdm7ZvazuDFQOra71sw+NrMKM7u/D+r6hpl9YGYxM+v0Lgwz22Zm75nZ22YWeb8wJ1FXX++vkWb2qpl9Gv45opN27eG+etvMViZq00v1dLn9ZjbIzJ4N5280s6lR1XKSdd1hZrVx+2hJH9X1uJntM7P3O5lvZvZPYd3vmlnCXsD7uKYrzexQ3L56MOqaws+dZGavmdmW8N/inyVoE+3+cnf9xP0Q9DScE07/HfB3CdpkEwyqNR3IA94BZkVc11nAGcDvCIYn7qzdNqC4D/dXt3WlaH89DNwfTt+f6O8xnHe0D/ZRt9sP/Anwb+H0zcCzaVLXHcC/9NXvU9znXk4wRMT7ncy/nmAgPAMuBTamQU1XAi+mYF+NAy4Mp4cBnyT4e4x0f+mIpAN3/7W7t4UvNxCMhdLRiWGE3b0FOD6McJR1bXH3j6P8jFORZF19vr/C9T8ZTj8J/FHEn9eVZLY/vt7ngass7BI7xXWlhLuvAQ500eQG4N89sAEoMrNxKa4pJdy9xt3fDKePAFsIRpmNF+n+UpB07S4+G/43XsKhgPukou458Gsz22xm96S6mFAq9tcYd6+B4B8aMLqTdvnhSJobzCyqsElm+0+0Cf8jcwgYFVE9J1MXwNfD0yHPm9mkBPNTIV3/DV5mZu+Y2UtmdnZff3h4SnQ2sLHDrEj3V5RjtqctM/sNMDbBrAfc/RdhmweANuDpRKtI8F6Pb39Lpq4kzHP33WY2GnjVzD4K/yeVyrr6fH+dxGomh/trOvBbM3vP3bf2tLYOktn+SPZRN5L5zF8CP3H3ZjP7Y4Kjpi9GXFcyUrG/uvMmQZciR83seuDnwMy++nAzGwq8APy5ux/uODvBIr22vwZkkLj7wq7mm9ntwFeAqzw8wdhBUsMI93ZdSa5jd/jnPjP7GcHpix4FSS/U1ef7y8z2mtk4d68JD+H3JWoXt78qzex3BP+b6+0gSWb7j7epNrMcoJDoT6N0W5e77497uYzgumE6iOR3qifiv7zdfZWZ/auZFbt75H1wmVkuQYg87e4/TdAk0v2lU1sdmNm1BKMwLnL3hk6adTuMcCqY2RAzG3Z8muDGgYR3mPSxVOyvlcDt4fTtwB8cOVkwlPOgcLoYmEc0Qzcns/3x9d4I/LaT/8T0aV0dzqMvIjj/ng5WAt8J70a6FDh0/FRmqpjZ2OPXtcxsDsH36/6ul+qVzzXgMWCLu/9DJ82i3V99fYdBuv8AFQTnEt8Of47fSTMeWBXX7nqCuyO2EpziibqurxL8r6IZ2Eswhv3n6iK4++ad8OeDdKkrRftrFLAa+DT8c2T4fimwPJyeC7wX7q/3gMUR1vMH2w88RPAfFoB8YEX4+/cGMD3qfZRkXX8T/i69A7wGnNlHdf0EqAFaw9+vxcAfA38czjfgh2Hd79HFnYx9WNO9cftqAzC3j/bVfILTVO/GfW9d35f7S0+2i4hIj+jUloiI9IiCREREekRBIiIiPaIgERGRHlGQiIhIjyhIRLpgZkd7uPzz4VPzXbX5nXXRc3KybTq0LzGzl5NtL9ITChKRiIR9LWW7e2Vff7a71wI1Zjavrz9bBh4FiUgSwieCHzGz9y0Y7+Wm8P2ssCuMD8zsRTNbZWY3hot9m7gn6s3s/4UdRH5gZv+jk885amb/28zeNLPVZlYSN/sbZvaGmX1iZgvC9lPNrCxs/6aZzY1r//OwBpFIKUhEkvM14ALgfGAh8EjYfcjXgKnAucAS4LK4ZeYBm+NeP+DupcB5wBVmdl6CzxkCvOnuFwK/B74fNy/H3ecAfx73/j7g6rD9TcA/xbUvBxac/KaKnJwB2WmjyCmYT9ALbjuw18x+D1wcvr/C3WPAHjN7LW6ZcUBt3Otvhl3754TzZhF0axEvBjwbTv8YiO+A7/j0ZoLwAsgF/sXMLgDagdPj2u8j6KpGJFIKEpHkdDbIVFeDTzUS9KGFmU0D/gK42N0PmtkTx+d1I74Po+bwz3Y++7f7PYI+zs4nOMPQFNc+P6xBJFI6tSWSnDXATWaWHV63uJygc8W1BAM/ZZnZGILhVo/bAswIp4cDx4BDYbvrOvmcLILefwG+Fa6/K4VATXhEdBvB8LnHnU569P4sGU5HJCLJ+RnB9Y93CI4S/tLd95jZC8BVBF/YnxCMTHcoXOZXBMHyG3d/x8zeIugdthJY18nnHAPONrPN4Xpu6qaufwVeMLNvEPTOeyxu3hfCGkQipd5/RXrIzIZ6MCreKIKjlHlhyBQQfLnPC6+tJLOuo+4+tJfqWgPc4O4He2N9Ip3REYlIz71oZkVAHvADd98D4O6NZvZ9grGxd/RlQeHpt39QiEhf0BGJiIj0iC62i4hIjyhIRESkRxQkIiLSIwoSERHpEQWJiIj0iIJERER65P8D7eyKmTt0YKcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('alpha is:', 0.1)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>coef_lr</th>\n",
       "      <th>coef_ridge</th>\n",
       "      <th>columns</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>[1.4192519663634984]</td>\n",
       "      <td>[1.2363194419498882]</td>\n",
       "      <td>yr</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>[0.5964649626085302]</td>\n",
       "      <td>[0.5849192110104582]</td>\n",
       "      <td>atemp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>[0.40311450938806737]</td>\n",
       "      <td>[0.298906279806161]</td>\n",
       "      <td>mnth</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>[0.3273807807048658]</td>\n",
       "      <td>[0.327289212564672]</td>\n",
       "      <td>season</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>[0.07854685272654056]</td>\n",
       "      <td>[0.07875508537687281]</td>\n",
       "      <td>weekday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>[0.030301383981173782]</td>\n",
       "      <td>[0.03029729596295283]</td>\n",
       "      <td>workingday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>[-0.03616830775032208]</td>\n",
       "      <td>[-0.03583766080367923]</td>\n",
       "      <td>holiday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>[-0.07107632531332705]</td>\n",
       "      <td>[-0.0724463241134572]</td>\n",
       "      <td>hum</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>[-0.10644866580564612]</td>\n",
       "      <td>[-0.1070758398464342]</td>\n",
       "      <td>windspeed</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>[-0.10819603076899109]</td>\n",
       "      <td>[-0.09633900986297306]</td>\n",
       "      <td>temp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>[-0.17896406562405387]</td>\n",
       "      <td>[-0.17786772232890513]</td>\n",
       "      <td>weathersit</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[-1.040910918616929]</td>\n",
       "      <td>[-0.8287839267915587]</td>\n",
       "      <td>instant</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   coef_lr              coef_ridge     columns\n",
       "2     [1.4192519663634984]    [1.2363194419498882]          yr\n",
       "9     [0.5964649626085302]    [0.5849192110104582]       atemp\n",
       "3    [0.40311450938806737]     [0.298906279806161]        mnth\n",
       "1     [0.3273807807048658]     [0.327289212564672]      season\n",
       "5    [0.07854685272654056]   [0.07875508537687281]     weekday\n",
       "6   [0.030301383981173782]   [0.03029729596295283]  workingday\n",
       "4   [-0.03616830775032208]  [-0.03583766080367923]     holiday\n",
       "10  [-0.07107632531332705]   [-0.0724463241134572]         hum\n",
       "11  [-0.10644866580564612]   [-0.1070758398464342]   windspeed\n",
       "8   [-0.10819603076899109]  [-0.09633900986297306]        temp\n",
       "7   [-0.17896406562405387]  [-0.17786772232890513]  weathersit\n",
       "0     [-1.040910918616929]   [-0.8287839267915587]     instant"
      ]
     },
     "execution_count": 176,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mse_mean = np.mean(ridge.cv_values_, axis = 0)\n",
    "plt.plot(np.log10(alphas), mse_mean.reshape(len(alphas),1)) \n",
    "\n",
    "#这是为了标出最佳参数的位置，不是必须\n",
    "#plt.plot(np.log10(ridge.alpha_)*np.ones(3), [0.28, 0.29, 0.30])\n",
    "\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()\n",
    "\n",
    "print ('alpha is:', ridge.alpha_)\n",
    "\n",
    "# 看看各特征的权重系数，系数的绝对值大小可视为该特征的重要性\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef_lr\":list((lr.coef_.T)), \"coef_ridge\":list((ridge.coef_.T))})\n",
    "fs.sort_values(by=['coef_lr'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 177,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of LassoCV on test is 0.7792274156032941\n",
      "The r2 score of LassoCV on train is 0.8034241905733751\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/anaconda2/lib/python2.7/site-packages/sklearn/linear_model/coordinate_descent.py:1094: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "/anaconda2/lib/python2.7/site-packages/sklearn/linear_model/coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Fitting data with very small alpha may cause precision problems.\n",
      "  ConvergenceWarning)\n",
      "/anaconda2/lib/python2.7/site-packages/sklearn/linear_model/coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Fitting data with very small alpha may cause precision problems.\n",
      "  ConvergenceWarning)\n",
      "/anaconda2/lib/python2.7/site-packages/sklearn/linear_model/coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Fitting data with very small alpha may cause precision problems.\n",
      "  ConvergenceWarning)\n",
      "/anaconda2/lib/python2.7/site-packages/sklearn/linear_model/coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Fitting data with very small alpha may cause precision problems.\n",
      "  ConvergenceWarning)\n",
      "/anaconda2/lib/python2.7/site-packages/sklearn/linear_model/coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Fitting data with very small alpha may cause precision problems.\n",
      "  ConvergenceWarning)\n",
      "/anaconda2/lib/python2.7/site-packages/sklearn/linear_model/coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Fitting data with very small alpha may cause precision problems.\n",
      "  ConvergenceWarning)\n",
      "/anaconda2/lib/python2.7/site-packages/sklearn/linear_model/coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Fitting data with very small alpha may cause precision problems.\n",
      "  ConvergenceWarning)\n",
      "/anaconda2/lib/python2.7/site-packages/sklearn/linear_model/coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Fitting data with very small alpha may cause precision problems.\n",
      "  ConvergenceWarning)\n",
      "/anaconda2/lib/python2.7/site-packages/sklearn/linear_model/coordinate_descent.py:491: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Fitting data with very small alpha may cause precision problems.\n",
      "  ConvergenceWarning)\n"
     ]
    }
   ],
   "source": [
    "#### Lasso／L1正则\n",
    "# class sklearn.linear_model.LassoCV(eps=0.001, n_alphas=100, alphas=None, fit_intercept=True, \n",
    "#                                    normalize=False, precompute=’auto’, max_iter=1000, \n",
    "#                                    tol=0.0001, copy_X=True, cv=None, verbose=False, n_jobs=1,\n",
    "#                                    positive=False, random_state=None, selection=’cyclic’)\n",
    "from sklearn.linear_model import LassoCV\n",
    "\n",
    "#设置超参数搜索范围\n",
    "#alphas = [ 0.01, 0.1, 1, 10,100]\n",
    "\n",
    "#生成一个LassoCV实例\n",
    "#lasso = LassoCV(alphas=alphas)  \n",
    "lasso = LassoCV()  \n",
    "\n",
    "#训练（内含CV）\n",
    "lasso.fit(X_train, y_train)  \n",
    "\n",
    "#测试\n",
    "y_test_pred_lasso = lasso.predict(X_test)\n",
    "y_train_pred_lasso = lasso.predict(X_train)\n",
    "\n",
    "\n",
    "# 评估，使用r2_score评价模型在测试集和训练集上的性能\n",
    "print 'The r2 score of LassoCV on test is', r2_score(y_test, y_test_pred_lasso)\n",
    "print 'The r2 score of LassoCV on train is', r2_score(y_train, y_train_pred_lasso)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 178,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('alpha is:', 0.000783484290407163)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>coef_lasso</th>\n",
       "      <th>coef_lr</th>\n",
       "      <th>coef_ridge</th>\n",
       "      <th>columns</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.707177</td>\n",
       "      <td>[1.4192519663634984]</td>\n",
       "      <td>[1.2363194419498882]</td>\n",
       "      <td>yr</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.489030</td>\n",
       "      <td>[0.5964649626085302]</td>\n",
       "      <td>[0.5849192110104582]</td>\n",
       "      <td>atemp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-0.000000</td>\n",
       "      <td>[0.40311450938806737]</td>\n",
       "      <td>[0.298906279806161]</td>\n",
       "      <td>mnth</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.324578</td>\n",
       "      <td>[0.3273807807048658]</td>\n",
       "      <td>[0.327289212564672]</td>\n",
       "      <td>season</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.078515</td>\n",
       "      <td>[0.07854685272654056]</td>\n",
       "      <td>[0.07875508537687281]</td>\n",
       "      <td>weekday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.029882</td>\n",
       "      <td>[0.030301383981173782]</td>\n",
       "      <td>[0.03029729596295283]</td>\n",
       "      <td>workingday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-0.034666</td>\n",
       "      <td>[-0.03616830775032208]</td>\n",
       "      <td>[-0.03583766080367923]</td>\n",
       "      <td>holiday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>-0.074802</td>\n",
       "      <td>[-0.07107632531332705]</td>\n",
       "      <td>[-0.0724463241134572]</td>\n",
       "      <td>hum</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>-0.109325</td>\n",
       "      <td>[-0.10644866580564612]</td>\n",
       "      <td>[-0.1070758398464342]</td>\n",
       "      <td>windspeed</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>-0.000000</td>\n",
       "      <td>[-0.10819603076899109]</td>\n",
       "      <td>[-0.09633900986297306]</td>\n",
       "      <td>temp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>-0.175069</td>\n",
       "      <td>[-0.17896406562405387]</td>\n",
       "      <td>[-0.17786772232890513]</td>\n",
       "      <td>weathersit</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-0.214820</td>\n",
       "      <td>[-1.040910918616929]</td>\n",
       "      <td>[-0.8287839267915587]</td>\n",
       "      <td>instant</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    coef_lasso                 coef_lr              coef_ridge     columns\n",
       "2     0.707177    [1.4192519663634984]    [1.2363194419498882]          yr\n",
       "9     0.489030    [0.5964649626085302]    [0.5849192110104582]       atemp\n",
       "3    -0.000000   [0.40311450938806737]     [0.298906279806161]        mnth\n",
       "1     0.324578    [0.3273807807048658]     [0.327289212564672]      season\n",
       "5     0.078515   [0.07854685272654056]   [0.07875508537687281]     weekday\n",
       "6     0.029882  [0.030301383981173782]   [0.03029729596295283]  workingday\n",
       "4    -0.034666  [-0.03616830775032208]  [-0.03583766080367923]     holiday\n",
       "10   -0.074802  [-0.07107632531332705]   [-0.0724463241134572]         hum\n",
       "11   -0.109325  [-0.10644866580564612]   [-0.1070758398464342]   windspeed\n",
       "8    -0.000000  [-0.10819603076899109]  [-0.09633900986297306]        temp\n",
       "7    -0.175069  [-0.17896406562405387]  [-0.17786772232890513]  weathersit\n",
       "0    -0.214820    [-1.040910918616929]   [-0.8287839267915587]     instant"
      ]
     },
     "execution_count": 178,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mses = np.mean(lasso.mse_path_, axis = 1)\n",
    "plt.plot(np.log10(lasso.alphas_), mses) \n",
    "#plt.plot(np.log10(lasso.alphas_)*np.ones(3), [0.3, 0.4, 1.0])\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()    \n",
    "            \n",
    "print ('alpha is:', lasso.alpha_)\n",
    "\n",
    "# 看看各特征的权重系数，系数的绝对值大小可视为该特征的重要性\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef_lr\":list((lr.coef_.T)), \"coef_ridge\":list((ridge.coef_.T)), \"coef_lasso\":list((lasso.coef_.T))})\n",
    "fs.sort_values(by=['coef_lr'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 179,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('alpha is:', 0.000783484290407163)\n"
     ]
    }
   ],
   "source": [
    "mses = np.mean(lasso.mse_path_, axis = 1)\n",
    "plt.plot(np.log10(lasso.alphas_), mses) \n",
    "#plt.plot(np.log10(lasso.alphas_)*np.ones(3), [0.3, 0.4, 1.0])\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()    \n",
    "            \n",
    "print ('alpha is:', lasso.alpha_)\n",
    "\n",
    "#下图是alpha变化时测试误差的估计曲线图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
